package com.hb.core.pojo.project.notice.dto;

import cn.hutool.json.JSONArray;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hb.core.pojo.Attachments;
import com.hb.core.pojo.project.notice.entity.Notice;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * 门户网站公告DTO
 *
 * @author：ljs
 * @Date：2022-2-17 14:31:16
 */
@Data
public class NoticePortalDTO extends Notice {
    @ApiModelProperty(value = "公告类型 1: 工程, 2: 货物, 3: 服务(关联字典)")
    private Integer noticeType;
    @ApiModelProperty(value = "开始时间")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime publishStartDate;
    @ApiModelProperty(value = "结束时间")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime publishEndDate;
    @ApiModelProperty(value = "发布时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime publishDate;
    @ApiModelProperty(value = "省id")
    private String province;
    @ApiModelProperty(value = "市id")
    private String city;
    @ApiModelProperty(value = "区id")
    private String area;
    @ApiModelProperty(value = "省")
    private String provinceName;
    @ApiModelProperty(value = "市")
    private String cityName;
    @ApiModelProperty(value = "区")
    private String areaName;
    @ApiModelProperty(value = "公告类型列表")

    private List<Integer> noticeNatureList;
    @ApiModelProperty(value = "公告类型标志：1、招标公告  2、变更公告 3、结果公示")
    private Integer noticeNatureSign;

    @ApiModelProperty(value = "报名状态：1、报名中  2、已结束")
    private Integer applyStatus;

    @ApiModelProperty(value = "公司名称")
    private String orgName;

    @ApiModelProperty(value = "备案开始时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signStartTime;

    @ApiModelProperty(value = "备案结束时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signEndTime;

    @ApiModelProperty(value = "文件发售开始时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime documentSaleStartTime;

    @ApiModelProperty(value = "文件发售结束时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime documentSaleEndTime;

    @ApiModelProperty(value = "澄清问题提交截止时间")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime clarificationSubmissionEndTime;

    @ApiModelProperty(value = "开标时间")
@JsonFormat(shape= JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime openBidTime;

    @ApiModelProperty(value = "招标文件")
    private Attachments bidFile;

    @ApiModelProperty(value = "附件")
    private JSONArray mediumList;
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    @ApiModelProperty(value = "项目编码")
    private String projectCode;
    @ApiModelProperty(value = "项目招标类型: 1: 公开, 2: 邀请")
    private String commonType;
    @ApiModelProperty(value = "标段名称")
    private String sectionName;
    @ApiModelProperty(value = "标段ID")
    private String sectionId;
    @ApiModelProperty(value = "1、按照时间倒序 2、按照时间正序")
    private String sortType;
    @ApiModelProperty(value = "1、中标公示 2、候选人公示")
    private Integer queryType;
}
